package com.blog.cmrpersonalblog.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * 邮件配置类
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "email.verification")
public class EmailConfig {

    /**
     * 验证码有效期（分钟）
     */
    private Integer codeExpireMinutes = 10;

    /**
     * 密码重置令牌有效期（小时）
     */
    private Integer resetTokenExpireHours = 24;

    /**
     * 发送频率限制（秒）
     */
    private Integer sendIntervalSeconds = 60;

    /**
     * 每日发送限制
     */
    private Integer dailyLimit = 10;

    /**
     * 发件人名称
     */
    private String fromName = "Cmr个人博客";

    /**
     * 发件人邮箱
     */
    private String fromEmail;

    /**
     * 邮件模板配置
     */
    private Templates templates = new Templates();

    @Data
    public static class Templates {
        /**
         * 验证码邮件主题
         */
        private String verificationSubject = "【Cmr博客】邮箱验证码";

        /**
         * 密码重置邮件主题
         */
        private String resetPasswordSubject = "【Cmr博客】密码重置";

        /**
         * 前端重置密码页面URL
         */
        private String resetPasswordUrl = "http://localhost:8081/reset-password";
    }
}
